Subject: NB SIG report for the September CIW

From: "Chung-Huy Chen (254-4827 T/L 444)" <[email-masked]>
Date: Wed, 15 Sep 93 15:54:17 EDT

CIW NB SIG,

This is to summarize what NB SIG has accomplished at the September CIW.

The SIG reviewed a CP proposal (available under ciw/sig/nonblock/nb-cp.ps
at ibmstandards.cary.ibm.com).  Besides several minor changes and those
to the pseudonym files, the discussions were focused on replacements of
the new return codes:

  -CM_NON_BLOCKING_LEVEL_MISMATCH is replaced by CM_PROGRAM_PARAMETER_CHECK
  -CM_TIMER_EXPIRED is replaced by CM_UNSUCCESSFUL
  -CM_NO_OUTSTANDING_OPERATION is replaced by
    1) CM_PROGRAM_STATE_CHECK for the reason of no outstanding operation
       associated with any of the OOIDs specified in the OOID_list.
    2) CM_PROGRAM_PARAMETER_CHECK for the reason of OOID_list_count equal
       to zero.

The SIG agreed to request CP at the plenary, and the status was granted by
the CIW.

........................................................................
The SIG also discussed an idea of enhancing usability of the
Wait_For_Completion call.  The idea is to allow the program to wait for
its outstanding operations based on the conversation queues so that the
program can avoid building and manipulating a list of OOIDs.  To support
the idea, a simple solution is to reserve some values on OOID_list_count
(a signed 32-bit integer) as follows:

  1) 2**31 - 1 for CM_ALL_QUEUES
  2) 2**31 - 2 for CM_ALL_SEND_QUEUES
  3) 2**31 - 3 for CM_ALL_RECEIVE_QUEUES
  4) 2**31 - 4 for CM_ALL_EXPEDITED_SEND_QUEUES
  5) 2**31 - 5 for CM_ALL_EXPEDITED_RECEIVE_QUEUES

The idea and the solution received favorable responses in general.

........................................................................
At the June CIW, the SIG recognized the needs for providing
recommendations of using the system-dependent parameters on the
Set_Queue_Callback_Function call for different systems.  The Windows
platform developers submitted the following proposal as a usage note
to the call at this CIW (not yet reviewed by the SIG and CIW):

   When using the call in the Microsoft Windows(TM) environment, the
   callback_function and user_field parameters are ignored, and the
   callback_info parameter is treated as a structure of type MSG, as
   defined by Windows.  Type MSG contains fields specifying at least a
   window handle, message number, word value, and doubleword value.  When
   the operation is completed, the CPI-C implementation will use these
   fields as arguments to call the Windows PostMessage function.

Notice that this is the only submission so far.  We encourage all the
developers submit a usage note for their systems of interest, including
(but not limited to):
   Windows NT, OS/2, UNIX, MacOS, OS/400

........................................................................
In a related subject,
the SIG reviewed an AD-level proposal that addressed the following
requirement: on a system that supports multi-threading, a program should
be able to have multiple independent operations in progress
simultaneously on a single conversation through the use of multiple
threads without having to use non-blocking.  The SIG opened a new work
item, Queue-Level Processing and Multi-Threading Support, and agreed to
request AD status on the proposal.  It was subsequently granted by the
CIW.

........................................................................
The amendments to the CP document are expected to be available for review
in four weeks.  They will cover:

  -reserved values and their semantics for OOID_list_count
  -system-dependent usage notes for Set_Queue_Callback_Function
  -an example of using queue-level non-blocking in Chapter 3

Chung-Huy Chen
NB SIG Coordinator